package com.agentframework.core.provider;

import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.embedding.EmbeddingModel;
import org.springframework.ai.image.ImageModel;

/**
 * @author wangjun
 **/
public interface Provider {

    ChatModel getChatModel();

    ChatModel getChatModel(LlmType llmType);

    ImageModel getImageModel();

    ImageModel getImageModel(LlmType llmType);

    EmbeddingModel getEmbeddingModel();

    EmbeddingModel getEmbeddingModel(LlmType llmType);

    enum DeepseekModel {
        CHAT("deepseek-chat"),

        REASONER("deepseek-reasoner");

        final String model;

        DeepseekModel(String model) {
            this.model = model;
        }

    }

}
